home *** CD-ROM | disk | FTP | other *** search
/ Creative Computers / Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso / shareware / fractals / mandelsquare / mandelsquare-1.06.lha / MandelSquareDefs.h < prev    next >
C/C++ Source or Header  |  1992-10-13  |  3KB  |  101 lines

  1. /*
  2. **    MandelSquare - AmigaDOS 2.0/3.0 Mandelbrot set explorer
  3. **
  4. **    MandelSquareDefs.h, Local symbol definitions
  5. **
  6. **    Copyright © 1991-1992 by Olaf `Olsen' Barthel
  7. **        All Rights Reserved
  8. */
  9.  
  10.     /* A bunch of IFF header IDs. */
  11.  
  12. #define ID_ANIM        MAKE_ID('A','N','I','M')
  13. #define ID_ILBM        MAKE_ID('I','L','B','M')
  14. #define ID_BODY        MAKE_ID('B','O','D','Y')
  15. #define ID_CAMG        MAKE_ID('C','A','M','G')
  16. #define ID_CMAP        MAKE_ID('C','M','A','P')
  17. #define ID_BMHD        MAKE_ID('B','M','H','D')
  18. #define ID_CRNG        MAKE_ID('C','R','N','G')
  19. #define ID_ANHD        MAKE_ID('A','N','H','D')
  20. #define ID_DLTA        MAKE_ID('D','L','T','A')
  21. #define ID_MAND        MAKE_ID('M','A','N','D')
  22.  
  23.     /* A custom chunk `MandelSquare' saves which each
  24.      * picture, it contains the coordinates, screen
  25.      * width and the number iterations set when the
  26.      * picture was saved.
  27.      */
  28.  
  29. typedef struct
  30. {
  31.     double    MinReal,
  32.         MinImaginary;
  33.  
  34.     double    RealWidth,
  35.         ImaginaryHeight;
  36.  
  37.     LONG    Iterations;
  38. } MandelHeader;
  39.  
  40. typedef struct
  41. {
  42.     UWORD        w,h;            /* raster width & height in pixels */
  43.     WORD        x,y;            /* position for this image */
  44.     UBYTE        nPlanes;        /* # source bitplanes */
  45.     UBYTE        masking;        /* masking technique */
  46.     UBYTE        compression;        /* compression algoithm */
  47.     UBYTE        pad1;            /* UNUSED.  For consistency, put 0 here.*/
  48.     UWORD        transparentColor;    /* transparent "color number" */
  49.     UBYTE        xAspect,yAspect;    /* aspect ratio, a rational number x/y */
  50.     WORD        pageWidth,pageHeight;    /* source "page" size in pixels */
  51. } BitMapHeader;
  52.  
  53. typedef struct
  54. {
  55.     UBYTE        operation;        /* =5 for RIFF style */
  56.     UBYTE        mask;
  57.     UWORD        w,h;
  58.     WORD        x,y;
  59.     ULONG        abstime;        /* for timing w.r.t. start of anim file in jiffies (notused)*/
  60.     ULONG        reltime;        /* for timing w.r.t. last frame in jiffies */
  61.     UBYTE        interleave;        /* =0 for XORing to two frames back, =1 for last frame
  62.                            (not used yet)  */
  63.     UBYTE        pad0;
  64.     ULONG        bits;
  65.     UBYTE        pad[16];
  66. } AnimationHeader;
  67.  
  68. typedef struct
  69. {
  70.     UBYTE        red,
  71.             green,
  72.             blue;
  73. } ColorRegister;
  74.  
  75. typedef struct
  76. {
  77.     WORD        pad1;            /* reserved for future use; store 0 here */
  78.     WORD        rate;            /* 60/sec=16384, 30/sec=8192, 1/sec=16384/60=273 */
  79.     WORD        flags;            /* bit0 set = active, bit 1 set = reverse */
  80.     UBYTE        low,            /* lower and upper color registers selected */
  81.             high;
  82. } CRange;
  83.  
  84.     /* Colour cycling range flags. */
  85.  
  86. #define RNG_ACTIVE    (1 << 0)
  87. #define RNG_REVERSE    (1 << 1)
  88.  
  89.     /* Global library pointers. */
  90.  
  91. extern struct ExecBase    *SysBase;
  92. extern struct Library    *IFFParseBase;
  93.  
  94.     /* Fixes for SAS/C 6.0. */
  95.  
  96. #ifdef    WBenchMsg
  97. #undef    WBenchMsg
  98. #endif    /* WBenchMsg */
  99.  
  100. #define WBenchMsg _WBenchMsg
  101.